package com.semeureka.fault.mina;

import org.apache.mina.core.session.IoSession;

import com.semeureka.fault.bean.Group;
import com.semeureka.fault.util.Message;

public interface SessionCache {
	/**
	 * 判断指定分组设备是否在线
	 */
	boolean contains(Group group);

	/**
	 * 缓存指定分组设备的连接
	 */
	void put(Group group, IoSession session);

	/**
	 * 获取指定分组设备的连接，指定分组不在线时返回null
	 */
	IoSession get(Group group);

	/**
	 * 移除指定连接
	 */
	void remove(IoSession session);

	/**
	 * 向指定分组设备发送数据，如果分组不在线则自动不发送
	 */
	void write(Message... messages);
}
